package com.obao.user.dao;

import com.obao.user.entity.BusinessItem;
import com.obao.user.entity.Cart;
import com.obao.user.entity.ProductItem;
import com.obao.user.entity.User;

/**
 * @author 代江平
 * @date:2016年11月5日
 */
public interface ICartDao {
	/**
	 * 添加购物车
	 * @param cart
	 */
	void save(Cart cart);

	/**
	 * 保存商家项
	 * @param businessItem
     */
	void save(BusinessItem businessItem);

	/**
	 * 保存产品项
	 * @param productItem
     */
	void save(ProductItem productItem);

	/**
	 * 修改产品项中产品数量
	 * @param number
     */
	void updateProductItem(Integer number, Integer productItemId);

	/**
	 * 查找用户购物车
	 * @param user
	 * @return
     */
	Cart findCart(User user);

	/**
	 * 删除产品项
	 * @param productItemID
     */
	void deleteProductItem(Integer productItemID);

	/**
	 * 删除商家项
	 * @param businessItemId
     */
	void deleteBusinessItem(Integer businessItemId);

	/**
	 * 删除购物车
	 * @param cartId
     */
	void deleteCart(Integer cartId);

	/**
	 * 查找产品项
	 * @param productItemId
	 * @return
     */
	ProductItem findProductItem(Integer productItemId);

	/**
	 * 检查商家项下是否存在商品项
	 * @param businessItemId
	 * @return
     */
	boolean checkBusinessItemIsExistProductItem(Integer businessItemId);

	/**
	 * 检查购物车中是否有商家项目
	 * @param businessItemId
	 * @return
     */
	boolean checkCartIsExistBusinessItem(Integer businessItemId);

	/**
	 * 根据商家项ID查找商家项
	 * @param businessItemId
	 * @return
     */
	BusinessItem findBusinessItemById(Integer businessItemId);
}
